	absolute 2ch
Blocokr	resw	1
	segment	code
	org	100h
Start:	jmp	Init
Begin:	
;���������� ���������
	sti				;���������� ����������� ����������
	push	ax			;����������� � ����� ���������
	push	dx
	push	ds
	push	es
	pushf
	mov	ax,cs			;"��������" �������� ����
	mov	ds,ax                   ; � ��� ��������
	mov	es,ax			; ������
;������ ���������� �����������	
	pushf
	push	cs
	push	.M				
	jmp	far	[Old]
;�������� ������� �� ��������
.M:	cmp	[Pz],byte 0		;Pz = 0,
	jne	.Exit			; ���� ��� �� �����
;����������� ������� �� ���������� ������
	mov	ah,01h
	int	16h
	jz	.Exit			;��� ������� � ������ �� �����
;�������� �������
	cmp	al,0			;������ �����������?
	jne	.Exit			; ���� ��� �� �����
	cmp	ah,41h			;��� F7?
	je	.Red			; ���� �� �� �������� ��������
	cmp	ah,42h			;��� F8?
	jne	.Exit			; ���� ��� �� �����
;����������� ���������
	mov	ah,00h			;������� ������� F8
	int	16h                     ; �� ���������� ������
	mov	ax,2509h		;�������� �������
	mov	dx,[Old]                ; ����������
	mov	ds,[Old+2]		; ����������
	int	21h			; � ������ 9
	push	cs			;����������� CS
	pop	es			; � ES
	mov	ah,49h			;������������
	int	21h			; ������
	jmp	.Exit			;�����
;������ ���������
.Red:	mov	ah,00h			;������� ������� F7
	int	16h                     ; �� ���������� ������
	mov	[Pz],byte 1		;Pz <- 1
	mov	dx,Red			;DX <- BX
	mov	bx,Blocpar		;BX <- �����-�������� ����� ����������
	mov	ax,4b00h		;AX <- ����� ������� � ����������
	int	21h			;������ �������� ���������
	mov	[Pz],byte 0		;Pz <- 0
;�����
.Exit:	popf
	pop	es
	pop	ds
	pop	dx
	pop	ax
	iret
Old	dd	0
Pz	db	0
Red	dw	'Redaktor.com',0
Blocpar	times	14	db	0
;����������������� ����� ���������
Init:	mov	ax,3509h		;���������� �������� �����������
	int	21h			; ������� 9 � ��������� ES � BX
	mov	[Old],bx		;� �����
	mov	[Old+2],es		; � ���� Old
	mov	ax,2509h		;������ ���������� ������ �����������
	mov	dx,Begin		; � ������ ����������
	int	21h			; � ������� 9
	mov	ah,49h			;������������ ������� ������,
	mov	es,[Blocokr]            ; ����������
	int	21h			; ������ ���������
	mov	dx,Init			;������� � DOS, ���������
	int	27h			; �����������